1. Field of the Invention
The present invention is directed generally toward the automatic testing of electrical materials, components and circuits and, more specifically, to a system and method of conducting two or more automatic tests in parallel to minimize the time required to complete said automatic tests.
2. Description of Related Art
Electronic device manufacturers typically produce mass quantities of integrated circuits and other such electronic circuit components that will be included in electronic devices eventually sold to end users. Due to the volume of electronic components manufactured, several production testing devices are situated throughout the production floor to conduct tests on a suitably large sample of the electronic components and electric circuits to provide reasonable assurance that the circuits, or portions thereof function as designed. For critical applications every circuit, material, circuit component or other device produced must be tested to ensure that said items function properly. However, there is a practical limit of the number of testing device that can be utilized due to space and budget constraints. Thus, to maximize production throughput the time spent by each testing device to ensure proper operation of the items being produced must be shortened as much as possible.
Each testing device includes the required hardware to interface with a portion of the electrical materials, components and/or circuits to be tested, generally referred to herein as a device under test, and measure the value of an electrical property of the device under test that indicates whether the device under test operates as designed. In addition to the appropriate hardware, each testing device also includes a controller and a computer-readable memory storing computer-executable instructions that define tasks to be carried out by the testing device. The computer-executable instructions are to be executed by the controller to perform the desired tests. Typically, there are a number of tests to be performed at various locations of the device under test. These tests may be dynamic. Some tests require one or more other tests to be finished before being initiated, and should not be initiated immediately upon the initially scheduled start time as assigned by the controller. Initiation of such tests can not be scheduled until all of the tests to be conducted are known, and only then get scheduled for execution in proper combinations and sequences. However, compatible tests can be performed at the same time, or at least at overlapping times, to complete the compatible tests with maximum efficiency.
Additionally, each test to be conducted by the testing device requires the testing device to dedicate the necessary resources required to conduct the tests. A first test requiring a certain resource will prevent another test requiring this same system resource from being performed until the first test is no longer utilizing that system resource. Thus, resource conflicts should be avoided while conducting parallel tests to ensure the integrity of the test results.
Certain devices under test will also include different portions thereof that, while undergoing testing will affect operation of other portions of the same device under test. Unless the affect on the other portions of the device under test are well understood and can be compensated for, parallel testing of these interacting portions of the device under test should also be avoided.
To minimize the impact of these concerns, traditional parametric tests have typically been conducted sequentially, which requires performing only a single test of the device under test at one time. Once one test was completed the next test was initiated. In contrast, conducting tests in parallel allows multiple instruments to connect with multiple portions of the same device under test, with multiple devices under test at the same time, or a combination thereof, and conduct multiple tests that at least partially overlap in time. Such tests force signals and measure responses of the device(s) under test at the same time, or, in parallel. This technique is extremely useful when throughput of a production line is critical.
However, managing and controlling the tests that can be performed in parallel requires significant manual intervention, often requiring the computer-executable instructions defining the test parameters to include express identification of other, conflicting tests that can not be performed in parallel. Such conflicts can be due to dependency issues (e.g., one test to be performed depends on the results of a preceding test), usage of common testing device resources, unacceptable interaction between the portions of the device under test, and the like. Even for a relatively simple set of tests to be performed the time, cost and effort required to coordinate parallel execution of the tests is significant. And when even a single test is to be altered in any way it may be necessary to revisit all potential conflicts throughout all of the tests, once again requiring the significant outlay of time, money and effort to bring the testing devices back online.
Accordingly, there is a need in the art for a method and system for conducting parallel tests on a device under test to minimize the time required to complete said testing. The method and system can optionally identify potential conflicts between tests that would prevent those tests from being performed in parallel automatically. Further, the method and system can optionally facilitate integration of additional tests and/or changes to an existing test to be performed with minimal user intervention.